package com.xayy.health.mgt.mapper;

import cn.kawins.mybatis.BaseMapper;
import com.xayy.health.core.config.datasource.DatasourceSelector;
import com.xayy.health.mgt.model.TaskInfo;
import com.xayy.health.mgt.model.dto.TaskInfoDto;

import java.util.List;


/**
 * 任务
 *
 * @author zhangxa
 */
public interface TaskInfoMapper extends BaseMapper<TaskInfo> {
    /**
     * 获取任务列表信息
     *
     * @param taskInfoDto 任务入参
     * @return List<TaskInfo>
     */
    List<TaskInfo> getList(TaskInfoDto taskInfoDto);


    /**
     * 批量更新状态
     *
     * @param taskId 任务id
     */
    void updateBatchStatus(List<Long> taskId);

    /**
     * 分页
     *
     * @param taskInfoDto 入参
     * @return List<TaskInfo>
     */
    List<TaskInfo> pageList(TaskInfoDto taskInfoDto);

    /**
     * 删除预测数据
     *
     * @param predictIdList 预测数据
     */
    @DatasourceSelector(sourceName = "clickhouse")
    void deleteCalculateData(List<Long> predictIdList);

    /**
     * 分页
     *
     * @param taskInfoDto 入参
     * @return List<TaskInfo>
     */
    List<TaskInfo> pageListData(TaskInfoDto taskInfoDto);

    /**
     * 查询预处理数据
     *
     * @param taskInfo 任务信息
     * @return List<TaskInfo>
     */
    List<TaskInfo> selectPreData(TaskInfo taskInfo);
}
